@import "normalize.css/normalize.css";
@import "./_variables.css";
@import "./_buttons.css";
@import "./_inputs.css";
@import "./fonts.css";
@import "./base.css";
@import "./header.css";
@import "./listing.css";
@import "./dashboard.css";
@import "./login.css";
@import "./mobile.css";

.link {
    color: var(--blue);
}

#main .spinner {
    display: block;
    text-align: center;
    line-height: 0;
    padding: 1em 0;
}

#main .spinner > div {
    width: 0.8em;
    height: 0.8em;
    margin: 0 0.1em;
    font-size: 1em;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 100%;
    display: inline-block;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

#main .spinner .bounce1 {
    animation-delay: -0.32s;
}

#main .spinner .bounce2 {
    animation-delay: -0.16s;
}

.delayed {
    animation: delayed linear 100ms;
}

@keyframes delayed {
    0% {
        opacity: 0;
    }
    99% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* * * * * * * * * * * * * * * *
 *            ACTION           *
 * * * * * * * * * * * * * * * */

.action {
    display: inline-block;
    cursor: pointer;
    transition: 0.2s ease all;
    border: 0;
    margin: 0;
    color: #546e7a;
    border-radius: 50%;
    background: transparent;
    padding: 0;
    box-shadow: none;
    vertical-align: middle;
    text-align: left;
    position: relative;
}

.action.disabled {
    opacity: 0.2;
    cursor: not-allowed;
}

.action i {
    padding: 0.4em;
    transition: 0.1s ease-in-out all;
    border-radius: 50%;
}

.action:not(:disabled):hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.action ul {
    position: absolute;
    top: 0;
    color: #7d7d7d;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-direction: column;
    display: flex;
}

.action ul li {
    line-height: 1;
    padding: 0.7em;
    transition: 0.1s ease background-color;
}

.action ul li:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

.action .counter {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    background: var(--primaryColor);
    color: #fff;
    border-radius: 50%;
    font-size: 0.75em;
    width: 1.8em;
    height: 1.8em;
    text-align: center;
    line-height: 1.55em;
    font-weight: bold;
}

/* PREVIEWER */

#previewer {
    background-color: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100%;
    z-index: 9999;
}

#previewer header {
    background: none;
    color: #fff;
}

#previewer header > .action i {
    color: #fff;
}

@media (min-width: 800px) {
    #previewer header #dropdown .action i {
        color: #fff;
    }
}

#previewer header .action:hover {
    background-color: rgba(255, 255, 255, 0.3);
}

#previewer header .action span {
    display: none;
}

#previewer .preview {
    text-align: center;
    max-height: 100%;
    max-width: 100%;
    height: 100%;
}

#previewer .preview pre {
    text-align: left;
    overflow: auto;
}

#previewer .preview pre,
#previewer .preview video,
#previewer .preview img {
    max-height: 100%;
    margin: 0;
}

#previewer .preview video {
    height: 100%;
}

#previewer .preview .info {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.5em;
    color: #fff;
}
#previewer .preview .info .title {
    margin-bottom: 1em;
}
#previewer .preview .info .title i {
    display: block;
    margin-bottom: 0.1em;
    font-size: 4em;
}
#previewer .preview .info .button {
    display: inline-block;
}
#previewer .preview .info .button:hover {
    background-color: rgba(255, 255, 255, 0.2);
}
#previewer .preview .info .button i {
    display: block;
    margin-bottom: 4px;
    font-size: 1.3em;
}

#previewer .pdf {
    width: 100%;
    height: 100%;
}

#previewer h2.message {
    color: rgba(255, 255, 255, 0.5);
}

#previewer > button {
    margin: 0;
    position: fixed;
    top: calc(50% + 1.85em);
    transform: translateY(-50%);
    background-color: rgba(80, 80, 80, 0.5);
    color: white;
    border-radius: 50%;
    cursor: pointer;
    border: 0;
    margin: 0;
    padding: 0;
    transition: 0.2s ease all;
}

#previewer > button.hidden {
    opacity: 0;
    visibility: hidden;
}

#previewer > button > i {
    padding: 0.4em;
}

#previewer > button:last-of-type {
    right: 0.5em;
}

#previewer .spinner {
    text-align: center;
    position: fixed;
    top: calc(50% + 1.85em);
    left: 50%;
    transform: translate(-50%, -50%);
}

#previewer .spinner > div {
    width: 18px;
    height: 18px;
    background-color: white;
}

/* EDITOR */

#editor-container {
    display: flex;
    flex-direction: column;
    background-color: none;
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
}

#editor-container #editor {
    flex: 1;
}

/* * * * * * * * * * * * * * * *
 *          ANIMATIONS         *
 * * * * * * * * * * * * * * * */

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

/* * * * * * * * * * * * * * * *
 *         SETTINGS RULES      *
 * * * * * * * * * * * * * * * */

.rules > div {
    display: flex;
    align-items: center;
    margin: 0.5rem 0;
}

.rules input[type="checkbox"] {
    margin-right: 0.2rem;
}

.rules input[type="text"] {
    border: 1px solid#ddd;
    padding: 0.2rem;
}

.rules label {
    margin-right: 0.5rem;
}

.rules button {
    margin-left: auto;
}

.rules button.delete {
    padding: 0.2rem 0.5rem;
    margin-left: 0.5rem;
}

/* * * * * * * * * * * * * * * *
 *         RTL overrides       *
 * * * * * * * * * * * * * * * */

body.rtl .card-content textarea {
    direction: ltr;
    text-align: left;
}

body.rtl .card-content .small + input {
    direction: ltr;
    text-align: left;
}

body.rtl .card.floating .card-content .file-list {
    direction: ltr;
    text-align: left;
}

.fb-shadow {
    box-shadow: 0px 0px 15px 0px rgb(100 100 100 / 75%);
    -webkit-box-shadow: 0px 0px 15px 0px rgb(100 100 100 / 75%);
}

.clickable {
    cursor: pointer;
}

.clickable:hover,
.plyr .plyr__control:hover,
button:hover,
.action:hover,
.listing-item.drag-hover {
    box-shadow:
        inset 0 -3em 3em rgba(217, 217, 217, 0.211),
        0 0 0 2px var(--alt-background) !important;
    /* Adjust shadow values as needed */
    transform: scale(1.02);
    /* Slightly enlarges the element */
}

.flat-right {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.flat-left {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.form-grow {
    flex-grow: 1;
    width: inherit;
    min-width: 1em;
}

.form-flex-group {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.form-flex-group > .form-compact {
    min-height: 2em;
    width: unset !important;
}

.form-button {
    height: auto !important;
}

.form-invalid {
    border-color: red !important;
}

.form-compact {
    padding: 0em;
}

.form-dropdown {
    width: unset !important;
}

.divider {
    border-color: var(--divider);
    width: 90%;
}

.tooltip-close-button {
    max-width: 4em !important;
}